void main() {
  //元数据是用来描述数据的数据（Data that describes other data）
  //元数据是以@开始的修饰符，在@后面接着编译时的常量或调用一个常量构造函数。
  /**
   * annotation.dart
   * @deprecated
   * @override
   * @proxy
   */

  //比起 java 中的注解创建，Dart 的注解创建更加朴素，没有多余的关键字，
  // 实际上只是一个构造方法需要修饰成 const 的普通 Class
}

class Person {
  @deprecated
  void eat() {}
}

//自定义注解
class TestMetadata {
  const TestMetadata();
}

@TestMetadata()
class TestModel {}

class ParamMetadata {
  final String name;
  final int id;

  const ParamMetadata(this.name, this.id);
}

@ParamMetadata("test", 1)
class TestModel1 {}

